/**
 * @action 复用逻辑
 *
 * 逻辑 + 依赖于状态（state）
 *
 * @param {组件} WrappedComponent
 */
// 16.8 版本之前，没有状态，之后，有了
import React from 'react'
function withPersistenceData(WrappedComponent) {
  return class extends React.Component {
    state = {
      data: [],
    }
    // 逻辑
    componentDidMount() {
      const data = localStorage.getItem('data')
      this.setState({ data })
    }
    render() {
      console.log('我在高阶组件内部：', this.props)
      return <WrappedComponent data={this.state.data} {...this.props}></WrappedComponent>
    }
  }
}

export default withPersistenceData
